import java.util.Arrays;
import java.util.Scanner;

public class day1 {
    /**
     * 枚举
     * 拼三角
     * https://ac.nowcoder.com/acm/contest/11163/A
     */
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int t = in.nextInt();
        int[] arr = new int[6];
        while(t-- != 0) {
            for(int i = 0;i < 6;i++) {
                arr[i] = in.nextInt();
            }
            // 对数组进行整体排序
            Arrays.sort(arr);

            // 这时候数组就是升序的了
            if(arr[0] + arr[1] > arr[2] && arr[3] + arr[4] > arr[5] ||
                    arr[0] + arr[2] > arr[3] && arr[1] + arr[4] > arr[5] ||
                    arr[0] + arr[3] > arr[4] && arr[1] + arr[2] > arr[5] ||
                    arr[0] + arr[4] > arr[5] && arr[1] + arr[2] > arr[3]) {
                System.out.println("Yes");
            }else {
                System.out.println("No");
            }
        }
    }

    /**
     * dfs 或 bfs
     * NC109 岛屿数量
     * https://www.nowcoder.com/practice/0c9664d1554e466aa107d899418e814e?tpId=196&tqId=37167&ru=/exam/oj
     */
    int m;
    int n;
    boolean[][] visit;
    public int solve (char[][] grid) {
        m = grid.length;
        n = grid[0].length;
        visit = new boolean[m][n];
        int count = 0;
        for(int i = 0;i < m;i++) {
            for(int j = 0;j < n;j++) {
                if(grid[i][j] == '1' && !visit[i][j]) {
                    dfs(grid,i,j);
                    count++;
                }
            }
        }
        return count;
    }
    int[] dx = {0,0,1,-1};
    int[] dy = {1,-1,0,0};
    public void dfs(char[][] grid,int i,int j) {
        visit[i][j] = true;
        for(int k = 0;k < 4;k++) {
            int x = i + dx[k];
            int y = j + dy[k];
            if(x >= 0 && x < m && y >= 0 && y < n && grid[x][y] == '1' && !visit[x][y]) {
                dfs(grid,x,y);
            }
        }
    }


    /**
     * 双指针 + 贪心
     * OR59 字符串中找出连续最长的数字串
     * https://www.nowcoder.com/practice/bd891093881d4ddf9e56e7cc8416562d?tpId=182&tqId=34785&ru=/exam/oj
     */
    public static void main1(String[] args) {
        Scanner in = new Scanner(System.in);
        // 双指针 + 贪心
        char[] str = in.nextLine().toCharArray();
        int begin = 0,len = 0;
        for(int i = 0;i < str.length;i++) {
            if(str[i] >= '0' && str[i] <= '9') {
                // 出现数字，对其数字求取长度，如果大于当前最大的数字字符串的len长度，那么就更新长度，并且更新begin的位置
                int j = i;
                while(j < str.length && str[j] >= '0' && str[j] <= '9') {
                    j++;
                }
                // 这个时候j位置不是数字字符，那么计算长度
                if(j - i > len) {
                    // 更新
                    len = j - i;
                    begin = i;
                }
                // 这里判断结束，有一个小贪心，现在i~j位置中的所有数字字符都判断结束了，当i还是进行++的话，长度一定会到j位置结束
                // 但是没有最开始的时候长，只需要最长的长度，所以不需要进行求取短的长度，所以可以直接把i复制到j位置
                i = j;
            }
        }
        // 利用begin和最长的长度len，来查看需要打印多的数字数组在哪里
        StringBuffer ret = new StringBuffer();
        for(int i = begin;i < begin + len;i++) {
            ret.append(str[i]);
        }
        System.out.println(ret.toString());
    }
}
